#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDockWidget>
#include <QLabel>
#include <QVBoxLayout>
#include <QPushButton>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 添加浮动窗口，并将该窗口置于左侧
    QDockWidget* dockWidget = new QDockWidget();
    this->addDockWidget(Qt::LeftDockWidgetArea,dockWidget);

    // 为浮动窗口添加控件需要再创建QWidget
    QWidget* childW = new QWidget();
    dockWidget->setWidget(childW);
    // 为浮动窗口设置标题
    dockWidget->setWindowTitle("这是子窗口");

    // 为浮动窗口添加布局管理器
    QVBoxLayout* layout = new QVBoxLayout(childW);

    // 添加label
    QLabel* label = new QLabel();
    label->setText("这是一个label");
    layout->addWidget(label);

    // 添加pushbutton
    QPushButton* pushbutton = new QPushButton();
    pushbutton->setText("按钮");
    layout->addWidget(pushbutton);

    // 设置浮动窗口运行停放的位置
    dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
}

MainWindow::~MainWindow()
{
    delete ui;
}

